package com.junzhiit.nengji.api.web.util;

public final class Constants {

    public static final String SUCCESSMSG = "Success";
    public static final String FAILEDMSG = "Failed";
    public static final String ACCESSTOKEN = "accessToken";
    public static final String DEVICEID = "deviceId";
    public static final String DELIMITER = ".";
    public static final String USERID = "userId";
    public static final String SESSIONID = "SESSIONID";
    public static final String CSRFTOKEN = "CSRFToken";
    public static final String URL_ANALYSIS = "urlAnalysis";
    public static final String CLIENT_REF = "clientRef";
    public static final String TS = "ts";
    public static final String EMAIL = "email";

    public static final String LOGIN_TYPE = "loginType";
    public static final String PWD = "PASSWORD";
    public static final String PWD_FORMAT_REGULAR = "[a-zA-Z0-9 \\?_@'.-]{6,36}$";
    public static final String LANG = "lang";
    public static final String UTF8 = "UTF-8";
    public static final String EXCEPTION = "exception";
    public static final String CONTENT_TYPE_SVG = "image/svg+xml";
    public static final String CONTENT_TYPE_HTML = "text/html";
    public static final String CONTENT_TYPE_JSON = "application/json; charset=UTF-8";
    public static final String ERROR_PATH = "/error";
    public static final String PAGE_NOT_FOUND_PATH = "/pageNotFound";
    public static final String AMOUNT_FORMAT = "0.00";
    public static final String SEQUENCE_TICKET_NAME = "ticket";
    public static final String SEND_UPDATE_TICKET_EMAIL_DEFAULT_RECEIVER_NAME = "ALL";
    public static final String TICKET_OWNER_NAME_DEFAULE = "customer";
    public static final String CCB_TICKET_REPORT = "ccb_ticket_report";
    public static final String EXPORT_TICKET_DETAIL = "ticket_detail";
    public static final String TEMP_FILE_PREFIX = "PayMe-";
    public static final String TEMP_FILE_SUFFIX = ".tmp";
    public static final String PUSH_MESSAGE_TITLE = "msgtitle";
    public static final String HTTP_HEADER_REGULAR = "[^\\\\ _a-zA-Z0-9-.,:\"=()+/]";
    public static final String PUSH_GO = "go";
    public static final String PUSH_GO_GAME = "gm";
    public static final String PAYME = "PayMe";
    
    public static final String MALL_NAME_KEY = "乐鸽分享链";
    public static final String EMAIL_SUBJECT_FIND_PWD_KEY = "找回密码验证码";
    public static final String EMAIL_SUBJECT_BIND_EMAIL_KEY = "绑定邮箱验证码";
    public static final String EMAIL_SUBJECT_EMAIL_CKECK_KEY = "邮箱验证验证码";
    public static final String EMAIL_BODY_CODE_TEMPLATE_KEY = "乐鸽分享链提醒您，本次验证码:{code}，{time}分钟內有效，如非本人操作，请不要告知他人";
    
    public static final String 	INDUSTRY_ROOT = "root";
    public static final String SELL_SETING_KEY = "sellSeting";
    
    public static final String ROOT_VALUE = "root";

    //微信
	public static final String KEY_PROPERTIES_FOR_SYSTEM = "key/system";
	public static final String SYSTEM_KEY_FOR_PASSOWRD = "aes.password";
	public static final String WECHAT_KEY_FOR_APPID = "wechat.appid";
	public static final String WECHAT_KEY_FOR_SECRET = "wechat.secret";
	public static final String WECHAT_KEY_FOR_PAY_SECRET = "wechat.pay.secret";
	public static final String WECHAT_KEY_FOR_PARTNER = "wechat.partner";
	public static final String WECHAT_KEY_FOR_URL_NOTIFY = "wechat.url.notify";
	public final static String URL_PAY_UNIFIEDORDER = "https://api.mch.weixin.qq.com/pay/unifiedorder";
	
	public static final String URL_OPENID_BY_CODE = "https://api.weixin.qq.com/sns/jscode2session";
	public static final String APPID = "wx9dbc69ffa5b66a21";
	public static final String APPSECRET = "d9d432f4cb13f559360e2170e3fa7727";
	public static final String STRING_AUTHORIZATION_CODE = "authorization_code";
	public static final String STRING_CLIENT_CREDENTIAL = "client_credential";
	
	public final static String URL = "https://api.weixin.qq.com/wxa/getwxacodeunlimit";
	public final static String URL_QRCODE_TICKET = "https://mp.weixin.qq.com/cgi-bin/showqrcode";
	public final static String URL_ACCESS_TOKEN = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential";
	public final static String URL_QRCODE_CREATE = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=";//无限制
	//public final static String URL_QRCODE_CREATE = "https://api.weixin.qq.com/wxa/getwxacode?access_token=";//限制10W张
	
	//微信模板消息
	public final static String URL_TEMPLATE_SEND = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send";
	
	public final static int CODE_STATUS_SUCCESS = 0;
	
	public final static String URL_GET_USER = "https://api.weixin.qq.com/cgi-bin/user/info";
	
	public static final String WECHAT_ATTACH_FOR_LOGISTICS = "LOGISTICS";
	public static final String WECHAT_ATTACH_FOR_RECHARGE = "RECHARGE";
	public static final String WECHAT_ATTACH_FOR_MEMBER = "MEMBER";
	public static final String WECHAT_ATTACH_FOR_SHOP_ORDER_NUMBER = "SHOP_ORDER_NUMBER";
	public static final String WECHAT_ATTACH_FOR_SERVICE_PROCESS = "PAY_SERVICE_PROCESS";
	public static final String WECHAT_ATTACH_FOR_VIP = "VIP";
	
	public static final String WECHAT_ATTACH_FOR_MEMBER_CARD = "MEMBER_CARD";
	
	public static final String WECHAT_ATTACH_FOR_BALANCE_HISTORY = "BALANCE_HISTORY";
	
	public static final String WECHAT_ATTACH_FOR_SHIASD = "SHIASD";
	
	public static final String KEY_PKCS12_FOR_WECHAT = "/data/key/apiclient_cert.p12";
	
	public final static String PROGRAM_HOME =  "view/pages/login/login";
	public final static String TEMPLATE_URL =  "view/pages/index/index";
    // end to end encryption
    public static final String ENC_DATA = "encData";
    public static final String ALGORITHM_RSA = "RSA";
    public static final String ALGORITHM_AES = "AES";

    public static final String MESSAGE_JSON = "messageJson";

    public static final String DEFAULT_SPIT = ",";
    
    public static final String 	TYPE_FULLNAME_SEPARATOR = " > ";
    public static final Integer TYPE_SORT_ONE = 1 ;
    public static final String CHECK_NUMBER = "3" ;
    public static final String JOIN_DATE = "-01";
    
    //默认城市编码
    public static final String DEFAULT_CITY_CODE = "0756";
    
    public static final int ZERO=0;

    private Constants() {
    };

    public static class RoleKey {
        public static final String ROLE_AUTHENTICATED = "ROLE_AUTHENTICATED";
        public static final String ROLE_ANONYMOUS = "ROLE_ANONYMOUS";
        public static final String ROLE_ADMIN = "ROLE_ADMIN";
        public static final String ROLE_USER = "ROLE_USER";
    }

    public static class ConfigKey {
        // admin config
        public static final String HSM_ACTIVE_SLOT = "hsm.active.slot";
        public static final String HSM_PARTITION1_PWD = "hsm.partition1.pwd";

        // encrypted password
        // datasource
        public static final String DATASOURCE_PWD = "spring.datasource.pwd";
        // quartz datasource
        public static final String QUARTZ_DATASOURCE_PWD = "quartz.datasource.pwd";

        // REDIS (RedisProperties)
        public static final String REDIS_PWD = "spring.redis.pwd";

        // mail
        public static final String EMAIL_PWD = "spring.mail.pwd";

        // SMS-infobib
        public static final String SMS_PWD = "sms.otp.pwd";

        // execl cron
        public static final String PGP_PWD = "pgp.pwd";
        public static final String REWARD_EXCEL_OPEN_PWD = "rewards.execl.open.pwd";

        // data keystore
        public static final String CHERRYPICKS_DATA_ENCRYPTION_KEY = "cherrypicks.data.encryption.key";
        public static final String CHERRYPICKS_DATA_ENCRYPTION_IV = "cherrypicks.data.encryption.iv";
    }
}
